package com.shanjupay.common.utilbak;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

/**
 * 加密工具类
 */
public class EncryptionUtil {


    /**
     * hmacsha256加密
     * @param data 内容
     * @param key  密钥
     * @return
     * @throws Exception
     */
    public static String hmacsha256(String data, String key) throws Exception {
       Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
       SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
       sha256_HMAC.init(secret_key);
       byte[] array = sha256_HMAC.doFinal(data.getBytes("UTF-8"));
       StringBuilder sb = new StringBuilder();
       for (byte item : array) {
           sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
       }
       return sb.toString().toLowerCase();

   }
}
